package top.tangyh.lamp.care.vo.result;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import top.tangyh.lamp.care.entity.BInpatientDiagnosis;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

@Data
@Schema(description = "病人信息类")
public class PatientInfoOutVO {

    private Long id;

    @Schema(description = "病人姓名")
    private String patientName;

    @Schema(description = "住院号")
    private String hospitalNumber;

    @Schema(description = "住院流水号")
    private String hospitalId;

    @Schema(description = "识别号")
    private String patientIdent;

    @Schema(description = "病区编码")
    private String wardIdent;

    @Schema(description = "病区名称")
    private String wardName;

    @Schema(description = "性别")
    private Integer gender;

    @Schema(description = "生日")
    private LocalDateTime birthday;

    @Schema(description = "年龄")
    private Integer age;

    @Schema(description = "联系人")
    private String contacts;

    @Schema(description = "联系人手机号")
    private String contactsPhone;

    @Schema(description = "联系人关系")
    private String relation;

    @Schema(description = "家庭地址")
    private String address;

    @Schema(description = "血型")
    private String bloodType;

    @Schema(description = "床号")
    private String bedNumber;

    @Schema(description = "护理等级")
    private String nursingLevel;

    @Schema(description = "当前科室id")
    private String deptIdent;

    @Schema(description = "当前科室名称")
    private String deptName;

    @Schema(description = "开始记录筛选时间")
    private Date startRkTime;

    @Schema(description = "结束记录筛选时间")
    private Date endCkTime;

    @Schema(description = "选择的诊断id")
    private Long diagnosisId;
//    /**
//     * 临床信息
//     */
//    private ObvInfoOutVO obvInfoOutVO;
    /**
     * 入院信息
     */
    @Schema(description = "入院信息")
    private RyInfoOutVO ryInfo;
    /**
     * 入科信息
     */
    @Schema(description = "入科信息")
    private RkInfoOutVO rkInfo;
//    /**
//     * 手术信息
//     */
//    @Schema(description = "手术信息")
//    private List<OperaInfoOutVO> operaInfo;
//    /**
//     * 入科前用药
//     */
//    @Schema(description = "入科前用药")
//    private List<RkYongYaoOutVO> rkYongYaoInfo;
//    /**
//     * 归转记录
//     */
//    @Schema(description = "归转记录")
//    private List<MoveInfoOutVO> moveInfo;
    //
    @Schema(description = "入科诊断集合")
    private List<RkZdInfoOutVO> rkZdInfoList;
    //
    @Schema(description = "入科诊断列表")
    private List<BInpatientDiagnosis> rkZdList;

//    @Schema(description = "过敏史集合")
//    private List<GmOutVO> gmList;
//
//     @Schema(description ="病人姓名历史")
//    private List<PatientNameHisVO> nameList;
//
//     @Schema(description ="病人床号历史")
//    private List<PatientBedHisVO> bedList;
//
//     @Schema(description ="病人病区历史")
//    private List<PatientWardHisVO> wardList;

    @Schema(description = "出科时间,如果病人未出科则为空")
    private LocalDateTime eventTime;

    @Schema(description = "入科时间")
    private Date rkTimeReal;
}